import os
import uuid
import asyncio

import edge_tts
import pyttsx3

async def text_to_speech_edge_tts(text: str):
    file_id = str(uuid.uuid4())
    output_file_path = os.path.abspath(f"static/tts/{file_id}.wav")

    # 确保目录存在
    os.makedirs(os.path.dirname(output_file_path), exist_ok=True)

    # 设置语音模型，可选 zh-CN-XiaoxiaoNeural 等
    communicate = edge_tts.Communicate(text=text, voice="zh-CN-XiaoxiaoNeural")
    await communicate.save(output_file_path)

    if not os.path.exists(output_file_path):
        raise FileNotFoundError(f"音频文件生成失败: {output_file_path}")

    with open(output_file_path, "rb") as f:
        audio_bytes = f.read()

    # os.remove(output_file_path)

    return audio_bytes

text_to_speech_edge_tts("根据《报废机动车回收拆解企业技术规范》（GB22128），“五大总成”具体指：  \n1. **发动机**：汽车的动力核心，负责将燃料能量转化为机械动力；  \n2. **变速器**（变速箱）：用于调节动力输出比，实现不同速度和扭矩的匹配；  \n3. **驱动桥**：连接变速箱与车轮，负责传递动力并支撑车辆重量；  \n4. **转向系统**：包含方向盘、转向拉杆等，用于控制车辆行驶方向；  \n5. **行驶系统**：涵盖车轮、悬架等，负责支撑整车、缓冲路面震动并保证行驶稳定性。  \n\n这些部件在拆解时需单独处理：符合再制造条件的可出售给资质企业，否则作为废金属回收。是否需要进一步了解某一部分的详细功能？！")